package com.jie.server.modules.system.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jie.server.modules.system.entity.AreaEntity;
import com.jie.server.modules.system.vo.AreaResultVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description: 行政区划Mapper接口
 * @author: xiaojie
 * @since: 2024/12/18 0018
 */
@Mapper
public interface AreaMapper extends BaseMapper<AreaEntity> {

    /**
     * 查询省市区表
     * @param areaId 省市区表主键
     * @return 省市区表
     */
    AreaEntity selectAreaByAreaId(Long areaId);

    /**
     * 查询省市区表列表
     * @param areaEntity 省市区表
     * @return 省市区表集合
     */
    List<AreaEntity> selectAreaList(AreaEntity areaEntity);

    /**
     * 获取省市区表列表
     * @param type  类型
     * @param parentId 上级id
     * @param name 名称
     * @return 省市区表集合
     */
    @InterceptorIgnore(tenantLine = "1")
    List<AreaResultVo> getAreaList(@Param("type") Integer type, @Param("parentId")Long parentId, @Param("name")String name);

}
